package April.只出现一次的数字0419;

public class Solution {

        public int singleNumber(int[] nums) {
            int len=nums.length;
            if(len==1)return nums[0];

            int res=nums[0];
            for (int i = 1; i <nums.length; i++) {
                res^=nums[i];
            }
            return res;
        }

/*
    List<Integer> list = new ArrayList<>();
        for (int i = 0; i < nums.length; i++) {
            if (!list.contains(nums[i])){
                list.add(nums[i]);
            }else {
                list.remove((Integer) nums[i]);
            }

        }
        return list.get(0);


*/


/*
class Solution {
    // 不看解析不知道这么牛批的方法
    // 异或经常考，圈起来要考，只要说不占用额外内存的就警惕
    public int singleNumber(int[] nums) {
       // 异或 ⊕ 的特性
       // 0 异或 x  = x
       // x 异或 b = b
       // b 异或 b = 0
       int res = 0;
       for(int i:nums){
           res ^= i;
       }
       // 最后返回是落单的
        return res;
    }
}

*/
}
